from nonebot import on_command, CommandSession
import datetime
@on_command('kb', aliases=('kb', 'KB', '查课表','课表'))
async def kb(session: CommandSession):
    f=open('c:\\awesome-bot\\awesome\\plugins\\'+str(session.ctx.user_id)+'.txt',encoding='utf-8')
    kb =eval(f.read())
    now = datetime.datetime.now().strftime('%Y-%m-%d')  # 获取当前日期
    now = now.replace('-', '')
    if now not in kb.keys():
        message = "今天没有课，好好自习"
    else:
        ulist = kb[now]
        message = ''
        for m in ulist:
            message = message + '\n' + m
    await session.send(message)
@on_command('mkb', aliases=('明日课表'))
async def mkb(session: CommandSession):
    f=open('c:\\awesome-bot\\awesome\\plugins\\'+str(session.ctx.user_id)+'.txt',encoding='utf-8')
    kb =eval(f.read())
    tomorrow = (datetime.datetime.now()+datetime.timedelta(days=1)).strftime('%Y-%m-%d')  # 获取当前日期
    tomorrow =tomorrow .replace('-', '')
    if tomorrow not in kb.keys():
        message = "明天没有课，好好自习"
    else:
        ulist = kb[tomorrow]
        message = ''
        for m in ulist:
            message = message + '\n' + m
    await session.send(message)

@on_command('添加用户', aliases=('tj'))
async def user(session: CommandSession):
    # 从会话状态（session.state）中获取城市名称（city），如果当前不存在，则询问用户
    num = session.get('QQ', prompt='添加用户的QQ：')
    with open("C:\\awesome-bot\\awesome\\plugins\\QQ.txt",'a') as f:
        f.write(','+str(num))
    f.close()
    await session.send("添加成功")


# weather.args_parser 装饰器将函数声明为 weather 命令的参数解析器
# 命令解析器用于将用户输入的参数解析成命令真正需要的数据
@user.args_parser
async def _(session: CommandSession):
    # 去掉消息首尾的空白符
    stripped_arg = session.current_arg_text.strip()

    if session.is_first_run:
        # 该命令第一次运行（第一次进入命令会话）
        if stripped_arg:
            # 第一次运行参数不为空，意味着用户直接将城市名跟在命令名后面，作为参数传入
            # 例如用户可能发送了：天气 南京
            session.state['QQ'] = stripped_arg
        return
